// pages/FarmingvideoManage/FarmingvideoManage.js
// pages/HotvideoManage/HotvideoManage.js

// 使用云数据库
const db = wx.cloud.database();

// 引入获取当前时间类
// const util = require('util.js');

Page({

    /**
     * 页面的初始数据
     */
    data: {
        // 教学者ID
        authorID:'',
        // 教学者id文本框状态
        Idinput_status:0,
        // 教学名称
        Title:'',
        // 教学名称文本框状态
        Titleinput_status:0,
        // 教学内容
        info:'',
        // 教学内容文本区域状态
        textarea_status:0,
        // 教学类别
        type:'',
        // 教学者昵称
        nickname:'',
        // 教学者头像
        avatarUrl:'',
        // 教学视频临时地址
        temp_upload_video:'',
        // 教学视频云存储地址
        upload_video:'',
        // 教学视频封面临时地址
        temp_upload_cover:'',
        // 教学视频封面云存储地址
        upload_cover:'',
    },

    // 改变教学者id文本框颜色函数
    focusIdInput_status:function(){
        this.setData({
            Idinput_status: 1
        })
    },

    // 保存教学者ID函数
    saveID:function(e){
        this.setData({
            authorID: e.detail.value,
            Idinput_status: 0
        })
    },

    // 改变教学名称文本框颜色函数
     focusTitleInput_status:function(){
        this.setData({
            Titleinput_status: 1
        })
    },

    // 保存教学名称函数
    saveTitle:function(e){
        this.setData({
            Title: e.detail.value,
            Titleinput_status: 0
        })
    },

    // 改变教学内容文本区域颜色函数
    focusTextarea_status:function(){
        this.setData({
            textarea_status: 1
        })
    },

    // 保存教学内容函数
    saveInfo:function(e){
        this.setData({
            info: e.detail.value,
            textarea_status: 0
        })
    },

    // 教学类别保存函数
    chooseType(e){
        // console.log(e)
        this.setData({
            type:e.detail.value
        })
    },

    // 上传临时教学视频函数
    uploadVideo:function(){
        let that =this
        // 选择视频
        wx.chooseMedia({
            count: 1,
            mediaType: ['video'],
            sourceType: ['album', 'camera'],
            // maxDuration: 30,
            camera: 'back',
            success: function (res) {
                // console.log(res)
                // 获取临时路径
                res.tempFiles.forEach(function(item){
                    // console.log(item)
                    that.setData({
                        temp_upload_video:item.tempFilePath
                    })
                })
            }
        })
    },

    // 添加教学视频封面函数
    addCover:function(){
        let that = this 
         // 选择图片
         wx.chooseMedia({
            count: 1,
            mediaType: ['image'],
            sourceType: ['album', 'camera'],
            maxDuration: 30,
            camera: 'back',
            success: function (res) {
                // console.log(res)
                // 获取临时路径
                res.tempFiles.forEach(function(item){
                    // console.log(item)
                    that.setData({
                        temp_upload_cover: item.tempFilePath,
                    })
                }) 
            }
        })
    },

    // 重新选择教学视频及封面函数
    deleteVideo:function(){
        this.setData({
            temp_upload_video:'',
            temp_upload_cover:''
        })
        this.uploadVideo()
    },

    // 发布教学视频函数
    publishNewvideo:function(){
        let that = this
        // 判断教学者ID
        if(!that.data.authorID){
            wx.showToast({
                title: '教学者不能为空',
                icon: 'error',
                duration: 2000,
            })
            return
        }
        // 判断视频信息是否完善
        if(!that.data.temp_upload_video||!that.data.Title||!that.data.info||!that.data.type||!that.data.temp_upload_cover){
            wx.showToast({
                title: '内容不能为空哦',
                icon: 'error',
                duration: 2000,
            })
            return
        }
        // 可以进行发布
        else{
            let promise = new Promise((reslove,reject)=>{
                wx.cloud.init();
                wx.cloud.callFunction({
                    name: 'checkSensitivewords',
                    data: {
                        text: that.data.Title
                    }
                }).then((res) =>{
                    console.log(res)
                    if (res.result.code == "200") {
                        //检测通过
                        console.log("标题检测通过" )
                        wx.cloud.callFunction({
                            name: 'checkSensitivewords',
                            data: {
                                text: that.data.info
                            }
                        }).then((res) =>{
                            console.log(res)
                            if (res.result.code == "200") {
                                //检测通过
                                console.log("简介检测通过" )
                                reslove()
                            } 
                            else {
                                //执行不通过
                                wx.showToast({
                                    title: '简介包含敏感字哦',
                                    icon: 'error',
                                    duration: 2000
                                })
                                return
                            }
                        })
                    } 
                    else {
                        //执行不通过
                        wx.showToast({
                            title: '标题包含敏感字哦',
                            icon: 'error',
                            duration: 2000
                        })
                        return
                    }
                })
            })
            promise.then(res=>{  
                // 获取教学者的昵称和头像
                db.collection('user-information').where({
                    _openid:that.data.authorID
                }).get()
                .then(res=>{
                    // console.log(res)
                    that.setData({
                        nickname:res.data[0].nickname,
                        avatarUrl:res.data[0].avatarUrl
                    })
                    wx.showLoading({
                        title: '视频上传中...',
                        mask:true
                    })
                })
                // 教学者ID有误
                .catch(err=>{
                    wx.showToast({
                        title: '教学者不存在',
                        icon: 'error',
                        duration: 2000,
                    })
                    return
                })
                let temp_upload_video = this.data.temp_upload_video
                let upload_video = this.data.upload_video
                let temp_upload_cover = this.data.temp_upload_cover
                let upload_cover = this.data.upload_cover
                let promise2 = new Promise((reslove,reject)=>{
                    // 将视频上传到云存储
                    wx.cloud.uploadFile({
                        // 指定上传到的云路径
                        cloudPath: 'village characteristic/farming_video/'+Date.now()+'_'+this.data.nickname+'_video.mp4',
                        // 指定要上传的文件的小程序临时文件路径
                        filePath: temp_upload_video,
                        success:res=>{
                            upload_video = res.fileID
                            // 将视频封面上传到云存储
                            wx.cloud.uploadFile({
                                // 指定上传到的云路径
                                cloudPath: 'village characteristic/farming_videoCover/'+Date.now()+'_'+this.data.nickname+'_videocover.png',
                                // 指定要上传的文件的小程序临时文件路径
                                filePath: temp_upload_cover,
                                success:res=>{
                                    upload_cover = res.fileID
                                    reslove();
                                }
                            })
                        }
                    })
                })
                promise2.then(res=>{
                    // 将视频信息上传云数据库
                    db.collection('farmingVideo').add({
                        data:{
                            nickname:that.data.nickname,
                            avatarUrl:that.data.avatarUrl,
                            title:that.data.Title,
                            info:that.data.info,
                            upload_video:upload_video,
                            upload_cover:upload_cover,
                            type:that.data.type,
                            playNum:0,
                            goodNum:0,
                            commentsNum:0,
                            forwardNum:0,
                            collectionsNum:0,
                            collections_list:[],
                            good_list:[],
                            comments_list:[],
                        },
                        success: res=>{
                            // console.log(res);
                            wx.showToast({
                                title: '教学视频发布成功',
                                icon: 'true',
                                duration: 2000,
                            })
                            // 清空渲染列表
                            that.setData({
                                authorID:'',
                                type:'',
                                title:'',
                                info:'',
                                nickname:'',
                                avatarUrl:'',
                                temp_upload_video:'',
                                upload_video:'',
                                temp_upload_cover:'',
                                upload_cover:'',
                            })
                        }
                    })  
                })
            })
        }
    },

    // 返回上一个页面
    jumpgoback:function(){
        wx.navigateBack({ 
            changed: true
         })
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {

    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})